// vue CLI 相关配置文件 https://cli.vuejs.org/zh/config/#vue-config-js
// webpack https://webpack.js.org/configuration/dev-server/

module.exports = {
  // publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/',
  // publicPath: '/',
  // 设置文件的公共(根)路径(一般打包上线需要测试) <----这里就是会修改webpack的outPath.publicPath
  publicPath: "",
  devServer: {
    // 起服务的一些配置
    host: "0.0.0.0", // 暴力匹配任何端口,但不表示自己
    port: 8080, // 端口号
    open: true, // 配置自动打开浏览器
    hot: true,
    hotOnly: true,
    inline: false,
    proxy: {
      // 正向代理(找到一个中间商)
      // 1. 关闭axios的基路径
      // 2. 代理 -- "/vant": 表面上作走的是8080, 实际上走的是3000
      // 欺骗了浏览器,只是形式上的改变,事实上还是老样子,发现不了
      "/vant": {
        target: "http://localhost:3000",
        ws: true, // proxy websockets - 推送机制(双向通讯机制)
        changeOrangin: true, //虚拟服务器
        // "pathRewrite":{
        //    "^/weather":"/"
        // }
      },
      "/gateway": {
        target: "http://m.maoyan.com",
        changeOrigin: true,
        // pathRewrite:{
        //   '^/hsl':''
        // }
        /* /kerwin/ajax/comingList  ====> /ajax/comingList  */
      },
      "/cnode": {
        target: "https://cnodejs.org/api/v1",
        changeOrigin: true,
        pathRewrite: {
          "^/cnode": "/",
        },
      },
      "/data": {
        target: "http://www.weather.com.cn",
        changeOrangin: true,
      },
    },
    overlay: {
      // 配置叠加来显示警告和错误(浏览器遮罩层显示错误)
      // 只能做到眼不见心不烦,但是服务器不会热更新了
      warnings: false,
      errors: false,
    },
  },
  // configureWebpack: {
  //   resolve: {
  // alias别名配置
  // key是使用的别名,值是实际地址。@===src
  // @ is an alias to /src

  // 不需要另外设置
  // alias: {
  //   assets: '@/assets',
  //   components: '@/components',
  //   views: '@/views',
  //   utils: '@/utils'
  // }
  //   },
  // contentBase: path.join(__dirname, 'assets'),
  // contentBasePublicPath: '/serve-content-base-at-this-url'
  // },
  // lintOnSave: false // 禁用eslint
  lintOnSave: process.env.NODE_ENV !== "production", // 生产环境禁用
  // publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/'
};
// 注意: 改了配置文件(这里的代理)一定要重启,不然不会生效。
